home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 3: Developer Tools / Linux Cubed Series 3 - Developer Tools.iso / devel / make / icmake-6.000 / icmake-6 / icmake / comp / lcast.c < prev    next >
Encoding:
C/C++ Source or Header  |  1994-02-08  |  513 b   |  25 lines

  1. /*
  2.                                     L C A S T . C
  3. */
  4.  
  5. #include "iccomp.h"
  6.  
  7. ESTRUC_ *lcast(e)
  8.     ESTRUC_
  9.         *e;
  10. {
  11.     if (test_type(e, e_int))               /* (int)list not ok */
  12.     {
  13.         semantic(illegal_cast);
  14.         discard(e);
  15.         set_type(e, e_list | e_var);
  16.     }
  17.     else if (test_type(e, e_str))         /* (string)int ok */
  18.     {
  19.         etoc(e);                          /* convert to code */
  20.         gencode(e, op_atol);
  21.         set_type(e, e_code | e_list);
  22.     }
  23.     return (e);
  24. }
  25.